#pragma once

namespace Graphics{
	class VertexInputLayout{
	public:
		virtual ~VertexInputLayout(){}

		virtual void buildLayout(RenderContext* context, void* byteCodeRef = NULL, size_t byteCodeSize = 0) = 0;
		virtual void setLayout(RenderContext* context) = 0;

		std::vector<std::string> m_sematics;
		std::vector<unsigned int> m_strides;
	};

	typedef boost::shared_ptr<VertexInputLayout> VertexInputLayoutPtr;
}